﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace LojaEmDia.Cadastro
{
    public partial class frmCidade : LojaEmDia.Cadastro.frmBasePopUp
    {
        public frmCidade()
        {
            InitializeComponent();
            this.Carregar();
            ConfiguraGrid();
        }

        private void Carregar()
        {
            List<Negocio.ESTADO> lista = Negocio.Faced.NegocioFaced.Me.ListarEstado();
            Negocio.ESTADO item = new Negocio.ESTADO();
            item.COD_ESTADO = 0;
            item.NOM_ESTADO = "Selecione";
            lista.Insert(0, item);
            this.comboBox1.DataSource = lista;
            this.comboBox1.DisplayMember = "nom_estado";
            this.comboBox1.ValueMember   = "cod_estado";
        }

        private void Pesquisar()
        {
            int codigo = (int)this.comboBox1.SelectedValue;
            this.bindingSource1.DataSource = Negocio.Faced.NegocioFaced.Me.ListarCidadePorEstado(codigo);
          
        }

        private void ConfiguraGrid()
        {
            this.dataGridView1.AutoGenerateColumns = false;
            DataGridViewTextBoxColumn colNome = new DataGridViewTextBoxColumn();
            colNome.HeaderText = "Nome";
            colNome.DataPropertyName = "Nom_cidade";
            this.dataGridView1.Columns.Add(colNome);


            DataGridViewComboBoxColumn colUF = new DataGridViewComboBoxColumn();
            colUF.HeaderText = "Estado";
            colUF.DataPropertyName = "cod_estado";
            colUF.DataSource = Negocio.Faced.NegocioFaced.Me.ListarEstado();
            colUF.DisplayMember = "nom_estado";
            colUF.ValueMember = "cod_estado";

            this.dataGridView1.Columns.Add(colUF);
        }

        protected override void OnSave(object sender, EventArgs e)
        {

            try
            {
                this.bindingSource1.EndEdit();
                this.dataGridView1.EndEdit();
                List<Negocio.CIDADE> lista = (List<Negocio.CIDADE>)this.bindingSource1.DataSource;
                Negocio.Faced.NegocioFaced.Me.Salvar(lista);


            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Erro na operação", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

            base.OnSave(sender, e);


        }

        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (comboBox1.SelectedIndex > 0)
                this.Pesquisar();
        }
    }
}
